home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / DevBitmap.C < prev    next >
C/C++ Source or Header  |  1990-10-19  |  1KB  |  75 lines

  1. //$DevBitmap$
  2. #include "DevBitmap.h"
  3. #include "Ink.h"
  4.  
  5. DevBitmap::DevBitmap(Point sz, u_short *data, u_short dep)
  6. {
  7.     size= sz;
  8.     image= data;
  9.     depth= dep;
  10. }
  11.  
  12. int DevBitmap::BytesPerLine()
  13. {
  14.     return ((size.x-1)/8+1)*depth;
  15. }
  16.  
  17. int DevBitmap::GetColormapSize()
  18. {
  19.     return 0;
  20. }
  21.  
  22. void DevBitmap::SetColormapSize(int)
  23. {
  24. }
  25.  
  26. void DevBitmap::GetColormapEntry(int ix, int *r, int *g, int *b)
  27. {
  28. }
  29.  
  30. void DevBitmap::SetColormapEntry(int ix, int r, int g, int b)
  31. {
  32. }
  33.  
  34. void DevBitmap::SetPixel(u_int x, u_int y, int value)
  35. {
  36. }
  37.  
  38. int DevBitmap::GetPixel(u_int, u_int)
  39. {
  40.     return 0;
  41. }
  42.  
  43. void DevBitmap::SetByte(u_int x, u_int y, u_int value)
  44. {
  45.     if (depth == 8)
  46.     SetPixel(x, y, value);
  47.     else {
  48.     register int b= 0x80, i;
  49.     x*= 8;
  50.     for (i= 0; i < 8; i++) {
  51.         SetPixel(x+i, y, (value & b) ? 1 : 0);
  52.         b >>= 1;
  53.     }
  54.     }
  55. }
  56.  
  57. u_int DevBitmap::GetByte(u_int x, u_int y)
  58. {
  59.     if (x < 0 || y < 0 || y >= size.y)
  60.     return 0;
  61.  
  62.     if (depth == 8)
  63.     return GetPixel(x, y);
  64.     
  65.     register int b= 0, i;
  66.     x*= 8;
  67.     for (i= 0; i < 8; i++) {
  68.     b <<= 1;
  69.     if (GetPixel(x+i, y))
  70.         b|= 1;
  71.     }
  72.     return b;
  73. }
  74.  
  75.